Instant messaging system and method

ABSTRACT

Methods and apparatuses for processing an instant message from a source wireless communication device to a destination device are described herein. In one aspect of the invention, an exemplary method includes receiving the instant message from the source wireless communication device, the instant message having a source wireless communication identifier, a destination instant messenger identifier, and data contents; extracting the source wireless communication identifier, the destination instant messenger identifier and the data contents from the instant message; retrieving a source instant messenger identifier corresponding to the source wireless communication identifier; binding the source instant messenger identifier with the source wireless communication identifier; and transmitting the data contents with the source instant messenger identifier to the destination device over a communication network, based on the destination instant messenger identifier. Other methods and apparatuses are also described.

FIELD OF THE INVENTION

The present invention relates generally to the technology of Internetinstant messaging and mobile network short messaging.

BACKGROUND OF THE INVENTION

Internet Instant messaging (IM) is a near real-time messaging service onthe Internet. IM application tools have found wide applications on theInternet. Within an instant messaging system, an Instant Messenger ID isa unique identifier for a participant or user associated with an InstantMessenger client application. Short Message Service (SMS) is atechnology that allows simple text messages to be communicated betweenmobile telephones. Due to limitations of existing related applicationstechnology and insufficient combination with Internet applications, anopen message exchange between the Internet and mobile telephone networksis absent.

A conventional browser can only display a Web page at a time. In orderto display multiple Web pages, multiple instances of the browser have tobe launched. As a result, excessive system resources are involved andexcessive time will be used to initialize the extra instances of thebrowsers.

SUMMARY OF THE INVENTION

According to one embodiment of the invention, a method for processing aninstant message from a source wireless communication device to adestination device includes receiving the instant message from thesource wireless communication device, the instant message having asource wireless communication identifier, a destination instantmessenger identifier, and data contents; extracting the source wirelesscommunication identifier, the destination instant messenger identifier,and the data contents from the instant message; identifying a sourceinstant messenger identifier associated with the source wirelesscommunication identifier; and transmitting the data contents with thesource instant messenger identifier to the destination device over acommunication network, based on the destination instant messengeridentifier.

In another aspect of the present invention, a method of binding aninstant messenger identifier with a wireless communication ID of awireless communication device includes receiving a binding request fromthe wireless communication device, the binding request including thewireless communication identifier; generating an instant messengeridentifier corresponding to the wireless communication identifier;storing the instant messenger identifier and the wireless communicationidentifier in a database, wherein the first instant messenger identifieris associated with the wireless communication identifier; and performingrelated services of the binding request based on the instant messengeridentifier.

In yet another aspect of the present invention, a method of displaying astatus message of an instant messenger subscriber includes receiving astatus request querying a status of a first instant messenger (IM)subscriber from a second IM subscriber, the status request including aninstant messenger identifier of the first IM subscriber; retrieving thestatus of the first IM subscriber, based on the instant messengeridentifier of the first IM subscriber; displaying the status of thefirst IM subscriber on a display device of the second IM subscriber; andcausing a presence indicator corresponding to the first IM subscribe tobe displayed, the presence indicator sufficiently representing acharacteristic of the first IM subscriber.

In further yet another aspect of the present invention, a method ofdisplaying multiple Web pages within a single instance of a browserincludes requesting identification of a plurality of Web pages from auser; receiving the plurality of the Web pages information items fromcorresponding Web servers based on the identification of the pluralityof Web pages; and displaying the plurality of the Web pages within acommon instance of the browser, each of the plurality of the Web pagesdisplayed corresponding to a page selector.

The present invention includes apparatuses that perform these methods,including data processing systems, which perform these methods, andmachine-readable media which when executed on a data processing system,causes the system to perform these methods. Other features of thepresent invention will be apparent from the accompanying drawings andfrom the detailed description that follows.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention is illustrated by way of example and notlimitation in the figures of the accompanying drawings in which likereferences indicate similar elements.

FIG. 1 shows a block diagram of a mobile to PC, mobile to mobile, andPC-to-PC communication system, according to one embodiment of thepresent invention.

FIG. 2 shows a computer system that may be used with present invention.

FIG. 3 shows a block diagram of another embodiment of the invention.

FIG. 4 shows yet another embodiment of the present invention.

FIG. 5 shows storage components used by one embodiment of the presentinvention.

FIG. 6 shows a block diagram of login processes of an aspect of theinvention.

FIG. 7 is a flowchart illustrating a login process of an embodiment ofthe invention.

FIG. 8 shows a block diagram of binding a mobile ID with an instantmessenger ID according to one embodiment of the invention.

FIG. 9 is a flowchart illustrating a method binding a mobile ID with aninstant messenger ID, in one embodiment of the invention.

FIG. 10 shows a user interface of binding a mobile ID with an instantmessenger ID, in one embodiment of the invention.

FIG. 11 shows yet another user interface of binding a mobile ID with aninstant messenger ID, in one embodiment of the invention.

FIG. 12 shows a block diagram of querying status of another instantmessenger subscriber, according to one embodiment of the invention.

FIG. 13 is a flowchart illustrating a status query of an instantmessenger client in one embodiment of the invention.

FIG. 14 shows an exemplary user interface of status query in oneembodiment of the invention.

FIG. 15 shows yet another exemplary user interface of status query inone embodiment of the invention.

FIG. 16 shows a block diagram of an instant communication between amobile client and a PC client in one embodiment of the invention.

FIG. 17 shows a block diagram of an instant communication between two PCclients in one embodiment of the invention.

FIG. 18 shows a flowchart illustrating instant communication between amobile client and a PC client, and between a mobile client and anothermobile client.

FIG. 19 shows a mobile-to-mobile instant messenger communication in oneembodiment of the present invention.

FIG. 20A shows an exemplary Internet browsing system with instantcommunication capability, according to one embodiment of the invention.

FIG. 20B shows another embodiment of the Internet browsing system of theinvention.

FIG. 21 shows a flowchart illustrating operation of an Internet browsingsystem with instant messenger capability of the invention.

FIG. 22A shows a user interface of the Internet browser according to oneembodiment of the invention.

FIG. 22B shows a Chinese version of a user interface of the Internetbrowser according to one embodiment of the invention.

FIG. 23 shows a flowchart illustrating a method to display multiple Webpages within a single instance of a browser, according to an embodimentof the invention.

FIG. 24 shows an exemplary user interface of a browser capable ofdisplaying multiple Web pages within the same single instance of thebrowser.

FIG. 25 shows a flowchart of illustrating chatting service provided byone embodiment of the invention.

FIG. 26 shows a user interface of the chatting service of the invention.

FIG. 27 shows a flowchart illustrating message board service provided byone embodiment of the invention.

FIGS. 28A, 28B and 28C show user interfaces of message board serviceaccording to an embodiment of the invention.

FIG. 29 shows an exemplary data structure used with one embodiment ofthe invention.

DETAILED DESCRIPTION

One aspect of the present invention relates an instant messenger (ormessaging) (IM) system between a wireless communication device and anon-wireless communication device, or between a wireless communicationdevice and another wireless communication device. A further aspect ofthe present invention also introduces a unique Internet browser that candisplay multiple Web pages in a single browser window. The followingdescription and drawings are illustrative of the invention and are notto be construed as limiting the invention. Numerous specific details aredescribed to provide a thorough understanding of the present invention.However, in certain instances, well-known or conventional details arenot described in order to not unnecessarily obscure the presentinvention in detail.

FIG. 1 shows a block diagram of an exemplary environment 100 in whichthe present invention may be deployed. The environment 100 typicallyincludes a non-wireless client, such as personal computer (PC) client101, connected to the Internet 102 through a network interface. TheInternet 102 is a global network of computers constantly connected toeach other using standardized communications protocols (e.g., TCP/IPprotocol). A network interface to the Internet may be through a dialupnetwork connection provided by an Internet service provider (ISP), suchas American Online (AOL), or Microsoft Network (MSN). Alternatively, aPC may connect to the Internet through a broadband Internet connection,such as cable modem or digital subscription line (DSL). The environment100 also includes a wireless client such as mobile (e.g., cellular)phone 104 connected through a wireless network 103. The presentinvention provides instant messenger services between the PC clients 101and 105, mobile clients 104 and 106, as well as between PC client 101and mobile client 104. In one embodiment, the mobile client 104 may be acellular phone. In other embodiments, the mobile client 104 may be apersonal digital assistant (PDA), a laptop (or notebook) computer,pager, or an portable electronic device capable of wirelesscommunications.

FIG. 2 shows one example of a computer system that may be used with thepresent invention. Note that while FIG. 2 illustrates various componentsof a computer system, it is not intended to represent any particulararchitecture or manner of interconnecting the components, as suchdetails are not germane to the present invention. It will also beappreciated that network computers and other data processing systems,which have fewer components or perhaps more components, may also be usedwith the present invention. The computer system of FIG. 2 may, forexample, be an Apple Macintosh or an IBM compatible computer.

As shown in FIG. 2, the computer system 200, which is a form of a dataprocessing system, includes a bus 202 that is coupled to amicroprocessor 203 and a ROM 207 and volatile RAM 205 and a non-volatilememory 206. The microprocessor 203, which may be a Pentiummicroprocessor from Intel Corporation, is coupled to cache memory 204 asshown in the example of FIG. 2. The bus 202 interconnects these variouscomponents together and also interconnects these components 203, 207,205, and 206 to a display controller and display device 208 and toperipheral devices such as input/output (I/O) devices, which may bemice, keyboards, modems, network interfaces, printers and other deviceswhich are well known in the art. Typically, the input/output devices 210are coupled to the system through input/output controllers 209. Thevolatile RAM 205 is typically implemented as dynamic RAM (DRAM) thatrequires power continuously in order to refresh or maintain the data inthe memory. The non-volatile memory 206 is typically a magnetic harddrive, a magnetic optical drive, an optical drive, a DVD RAM, or othertype of memory system that maintains data even after power is removedfrom the system. Typically, the non-volatile memory will also be arandom access memory, although this is not required. While FIG. 2 showsthat the non-volatile memory is a local device coupled directly to therest of the components in the data processing system, it will beappreciated that the present invention may utilize a non-volatile memorywhich is remote from the system, such as a network storage device whichis coupled to the data processing system through a network interfacesuch as a modem or Ethernet interface. The bus 202 may include one ormore buses connected to each other through various bridges, controllers,and/or adapters, as is well-known in the art. In one embodiment, the I/Ocontroller 209 includes a USB (Universal Serial Bus) adapter forcontrolling USB peripherals.

The non-volatile memory 206 is an exemplary a machine-readable medium onwhich is stored a set of instructions (i.e., software) embodying anyone, or all, of the methodologies described herein. The software mayalso reside, completely or at least partially, within the volatilememory 205 and/or within the processor 203. The software may further betransmitted or received via the network interface device. For thepurposes of this specification, the term “machine-readable medium” shallbe taken to include any medium that is capable of storing or encoding asequence of instructions for execution by the machine and that cause themachine to perform any one of the methodologies of the presentinvention. The term “machine-readable medium” shall accordingly be takento included, but not be limited to, solid-state memories, optical andmagnetic disks, and carrier wave signals.

FIG. 3 shows a block diagram of a communications system 300, accordingto an exemplary embodiment of the present invention. Referring to FIG.3, the system 300 includes at least one PC client 301 connected to theInternet 303, an instant messenger (IM) server 302, and a mobile phoneinstant messenger inter-working server 304, a mobile network interface305, a mobile server 306, a wireless network 307 and a mobile client308. The PC client 301 is connected to the Internet 303 through eitheran ISP or directly connected through an Ethernet. The IM server 302 isresponsible for managing instant messenger identifiers (ID) for allclients including PC client 301 and mobile client 308. When a mobileclient 308 sends an instant message to the PC client 301, the message isreceived by the mobile server 306 through the wireless network 307, suchas a ground-based wireless or satellite network. The mobile server 306processes the data and identifies the data that is for the instantmessenger message. In one embodiment, the instant message may be ShortMessage Service (SMS) compatible. The mobile server 306, then transmitsthe message through the mobile network interface 305 and Internet 303 tothe mobile phone instant messenger inter-working server (MPIMIS) 304.The MPIMIS 304 identifies the source of the message (e.g., mobile phone308) and the destination such as PC client 301. The MPIMIS 304 invokesthe IM server 302 to identify the destination based on the instantmessenger ID of the destination. The IM server 302 then receives themessage from the MPIMIS 304 and transmits the message to the PC client301. The instant messenger processing from PC client 301 to mobileclient 308 goes in reversed order.

FIG. 4 shows a block diagram of another exemplary embodiment of acommunications system 400 according to the present invention. Referringto FIG. 4, the system 400 includes an instant message (IM) server 401coupled to the Internet 404. The IM server 401 is responsible fortransferring messages in an Internet instant messenger system from a PCto a mobile phone, from a mobile phone to a PC, and from a PC to a PC. APC instant messenger client 405 (e.g., executing on a PC) transfers andreceives a message to and from a mobile client 410 through the IM server401. The mobile phone instant messenger inter-working server (MPIMIS)402, coupled to the Internet, is responsible for binding an instantmessenger ID and a mobile phone number. Typically, the MPIMIS 402allocates instant messenger IDs from the IM server 401 and establishes amessage-mapping relation with mobile phone numbers, and enables messageexchange between mobile phones and PCs under ID binding conditions. Thusa PC client 405 communicates with a mobile client 410 through an instantmessenger ID of the mobile client, instead of the mobile client's phonenumber. The phone number of a mobile client 410 is bound with a uniqueinstant messenger ID. Thus, when a mobile client 410 communicates withothers in the instant messenger environment, the only ID published tothe public is the instant messenger ID. The advantage of this is thatthe mobile phone number is protected, which increase the privacy of themobile client. Also, this arrangement increases the convenience of thecommunication, such that a “buddy” recognized or stored by a mobileclient 410 does not need to remember or store the phone number. Membersof an online community typically communicate with each other througheither their nicknames or their instant messenger. A PC client 405 hasno need to store the mobile phone number of the mobile client 410. Infact, in one embodiment, a PC client 405 does not need to know, as anoption, whether the subscriber being communicated is a mobile client410, based on the instant messenger ID. All the PC client knows is thatit is communicate with someone in the instant messaging environment.

When a mobile client 410 sends a message to the PC client 405, themessage typically includes the mobile phone number associated with themobile client 410 and the instant messenger ID of the destination client(e.g., instant messenger ID of the PC client 405). The message istransmitted through a mobile network 409, such as a satellite network.The message is then processed by a mobile short message center 408. Themobile short message center 408 controls the management of short messagesystem in mobile service. Optionally, a value added server (VAS) 407 maybe involved to provide various value added functions of short messageservice. The message is then transferred through the mobile networkinterface gateway 406 to the Internet 404. Typically, the message istransferred through a TCP/IP protocol in the Internet. Other protocolsmay be utilized. Next, the mobile phone instant messenger inter-workingserver (MPIMIS) 402 receives the message via the Internet 404. TheMPIMIS 402 processes the message including extracting the mobile phonenumber of the mobile client 410 from the message and binding it with aunique instant messenger ID. The MPIMIS 402 typically allocates aninstant messenger ID from the instant messenger server 401 and queriesthe status of the destination PC client 405, based on the destinationinstant messenger ID.

The mobile network interface gateway 406 provides a connection betweenthe mobile network and the Internet, such that the message can betransferred between two networks. The mobile network may comprise aglobal system for mobile (GSM) network. Other networks may be involved;such as code division multiple access (CDMA) and general packet radioservice (GPRS) networks.

The present invention introduces a way to bind mobile phone number andInstant Messenger ID and to display mobile phone status, so as toimplement real interconnection between two different networks. In themobile network and Internet, a mobile phone number and an InstantMessenger ID can map to each other and have a one-to-one correspondence.Therefore, in mobile phone short message platform applications, userscan use the unique ID in the Instant Messenger network to replace themobile phone number in the mobile network, thus sharing the ID of theInstant Messenger network (the IM ID) in the two networks. Although theInstant Messenger ID and the mobile phone number are mapped one to one,it would be appreciated that a mobile phone number may be mapped tomultiple Instant Messenger Ids. Thus a mobile phone user can usedifferent Instant Messenger Ids to communicate with different “buddy”.Similarly, an Instant Messenger ID map be mapped to multiple mobilephone numbers, such that an instant message can be sent to multiplemobile phones (e.g., a phone at home and another phone at the office).

In addition, online and offline presence indicators, which identify theuser's status, have found wide application and appeal in InstantMessenger networks. As a mobile phone number corresponds to InstantMessenger ID, in the present invention, an Instant Messenger ID can beused to show the online or offline status of the mobile phone, so as tointroduce the status concept into the field of mobile instant messaging.Binding a mobile phone number and an Instant Messenger ID, anddisplaying a mobile phone status are both aspects of the presentinvention, featuring information exchange without disclosing the mobilephone number.

FIG. 5 shows a block diagram illustrating storage components that may beused by an exemplary embodiment of the present invention. The storagecomponents shown in FIG. 5 include an instant messenger ID managementdatabase 504, mobile phone instant messenger ID cross-referencerelational database 506, and an online mobile phone database 505. Beforea mobile client 410 can send and receive an instant message, it mustregister to the system 400. The registration request is received by themobile network interface 503 and is processed by the mobile phoneinstant messenger inter-working server (MPIMIS) 502. The MPIMIS 502binds the mobile phone number to a unique instant messenger ID.Initially, the MPIMIS 502 allocates an instant messenger ID from theinstant messenger (IM) server 501. The IM server 501 manages all instantmessenger IDs and stores instant messenger IDs in the instant messengerID management database 504. The IM server 501 is responsible forallocating a unique instant messenger ID and updates the instantmessenger ID management database 504. The MPIMIS 502 receives the newlycreated instant messenger ID from the IM server 501 and stores both theinstant messenger ID and the mobile phone number in a mobile phoneinstant messenger ID cross-reference relational database 506. Thedatabase 506 provides cross-reference on both the instant messenger IDand the mobile phone number. Thus the database is indexed by bothinstant messenger ID and the mobile phone number. Hence, the instantmessenger ID can be searched and retrieved based on the mobile phonenumber, or vice versa.

The online mobile phone database 505 stores the information regardingwhether the mobile client is online, and other related information. Asdescribed above, before a mobile client 410 can communicate with othersthrough an instant messaging system (or network), the mobile client 410must register and log on to the IM network. When the mobile client 410logs on the IM network, the MPIMIS 502 stores the mobile phone numberand other related information in the online mobile phone database 505 toindicate the mobile client 410 is online. Thus, when another client,such as another mobile client 410 or a PC client 405, tries to query themobile client 410, the MPIMIS 502 can retrieve the information from theonline mobile phone database 505 and return appropriate information tothe requester. When the mobile client 410 logs off from the IM network,MPIMIS 502 will update the online mobile phone database 505 to indicatethe corresponding mobile client if offline, such that the MPIMIS canreturn the correct information upon subsequent queries. Although, thedatabase shown in FIG. 5 is described as a single database, it would beappreciated that the database may be implemented in multiple databases.Alternatively, the instant messenger ID management database 504, themobile phone instant messenger ID cross-reference relational database506, and the online mobile phone database 505 may be implemented in asingle database with different partitions.

FIG. 6 shows a diagrammatic representation of an exemplary mobile clientlogon processes and FIG. 7 shows a flow chart of the exemplary logonprocesses 700, according to one embodiment of the present invention.Referring to FIG. 6 and FIG. 7, when a mobile client 601 tries to a logon a communications network, it sends a logon message to the mobileshort message center 602 through a mobile network. The logon message isreceived (block 701) by the mobile network interface gateway 603 fromthe mobile short message center 602. The message is then transferred tothe mobile phone instant messenger inter-working server (MPIMIS) 604.The MPIMIS 604 then extracts (block 702) the mobile phone number fromthe logon request. The MPIMIS 604 then examines the mobile phone numberto determine whether the mobile client 601 corresponding to the mobilephone number has already logged on. A typical method to determinewhether the mobile client has logged on to the network is to checkwhether the mobile phone number exists in the online mobile phonedatabase, such as database 505 of FIG. 5. Other methods may exist. Ifthe mobile client 601 has already logged on (e.g., the phone numberexists in the online mobile phone database), the MPIMIS 604 then sendsthe online status of the mobile client 601 to the instant messenger (IM)server 605 to update the status of the mobile client 601. The IM server605 then broadcasts the online status of the mobile client 601 to the PCclient 606. As a result, the screen of the PC client will show an onlinestatus of the mobile client 601.

If the MPIMIS 604 determines that the mobile client 601 has not loggedon to the network, the MPIMIS 604 will retrieve (block 704) the instantmessenger ID from a database, such as mobile phone instant messenger IDcross-reference relational database 506 of FIG. 5, based on the mobilephone number of the mobile client 601. The MPIMIS 604 then stores (block705) the phone number in the online phone database, such as database505, to indicate that the corresponding mobile client 601 has logged on.Thereafter, the MPIMIS 604 sends (block 706) an online status indicatingthe mobile client 601 is online, to the IM server 605 and returns (block707) the logon success status back to the mobile client 601, through themobile network interface 603 and the mobile short message center 602.

One of the advantages of the present invention is that the mobile phonenumber and the instant messenger ID are bound. As a result, the instantmessenger ID is shared between two networks, the mobile network and theinstant messenger network. In addition, with the instant messenger IDbound with the mobile phone number, the mobile phone number can behidden without jeopardizing the privacy of the mobile client 601. FIG. 8shows a diagrammatic representation of binding an instant messenger IDwith a mobile phone number, according to an exemplary embodiment of thepresent invention. FIG. 9 shows a corresponding flow chart of a method900 of binding, according to one embodiment of the invention. The method900 involves receiving a binding request from a mobile phone, thebinding request comprising the mobile phone number, generating aninstant messenger ID corresponding to the mobile phone number, storingthe instant messenger ID and the mobile phone number in a database,wherein the instant messenger ID is associated with the mobile phonenumber, and performing related services of the binding request based onthe instant messenger ID.

Referring to FIG. 8 and FIG. 9, the mobile client 801 sends aregistration request through the mobile short message center 802. Themobile phone instant messenger inter-working server (MPIMIS) 804receives (block 901) the request from the mobile short message center802 through the mobile network interface gateway 803. The MPIMIS 804then extracts (block 902) the message contents and the mobile phonenumber from the request. Next, the MPIMIS 804 determines (block 903)whether the mobile phone has already registered with the system. If themobile client 801 has already registered to the system, the system thenretrieves the corresponding instant messenger ID from a database, suchas mobile phone instant messenger ID cross-reference relational database506 of FIG. 5, and performs (block 908) other related services based onthe instant messenger ID.

If the mobile client 801 has not registered in the system, the MPIMIS804 requests (block 904) an instant messenger ID from the instantmessenger (IM) server 805. The IM server 805 generates a unique instantmessenger ID and updates it in the instant messenger ID managementdatabase, such as database 504 of FIG. 5. The MPIMIS 804 then binds(block 905) and stores (block 906) both the instant messenger ID and themobile phone number in the mobile phone instant messenger IDcross-reference relational database 506.

FIG. 10 shows exemplary screen shots, according to one embodiment of thepresent invention. Screen shot 1001 shows, on a mobile phone screen,that the mobile phone has successfully registered and bound its phonenumber to an instant messenger ID of “10000”. The screen shot 1002 showsthat a mobile client sends (e.g., command of “37”) a short message to adestination with a corresponding instant messenger ID of “10138”. Themessage will be sent, through the mobile phone/instant messengerinter-working system, to the mobile phone already bound with the instantmessenger ID of “10138”. The screen shot 1003 shows an instant messengertools executed in the instant messenger system server showing that whichmobile phone is bound with what instant messenger ID. Here referring toscreen shot 1003, the instant messenger ID of “10000” is bound with themobile phone number of“13000000000”.

FIG. 11 shows a sequence of exemplary screen shots that illustrates aregistration process of a mobile client. A mobile client enters theshort message section 1101 and writes a short message 1102. After thesending confirmation 1103, the MPIM system prompts the user for itsmobile phone number 1104 and the user enters the phone number of“170030”. The MPIM system then verifies and binds the mobile phone withan instant messenger ID. As shown in 1105, the mobile phone number of“170030” is successfully bound with an instant messenger ID of “10000”.At the same time, the screen of the mobile client shows a friend or abuddy with instant messenger ID of “10138” has joined the buddy list. Onthe other hand, the screen of the other mobile client which correspondsto the instant messenger ID of “10138” shows its buddy 10000 has joinedthe room. Similarly, a PC client also shows similar result indicating abuddy or friend has joined the discussion section.

Another feature of the invention is that the system can provide anddisplay a status of a client on a screen of either mobile client or PCclient. A typical element of this feature is a presence indicator,indicating whether such client is online. In one embodiment, a specialcharacter such as “*” shown on a mobile phone screen, next to an instantmessenger ID, indicates the client corresponding to the instantmessenger ID is online. Similarly, on a PC client screen the color orbrightness (or any other visual differentiation) of the correspondinginstant messenger ID indicates that corresponding client is online.

FIG. 12 shows a diagrammatic representation of querying and displaying astatus of one mobile client to another mobile client, according to oneexemplary embodiment of the present invention. FIG. 13 shows acorresponding method 1300 of processing a status query processes,according to one embodiment of the invention. When a mobile client 1201desires to query the status of mobile client 1202, the mobile client1201 sends a status query request to the mobile phone instant messengerinter-working server (MPIMIS) 1205, through the mobile short messagecenter 1203 of the mobile network and the mobile network interface 1204.The request received 1301 at the MPIMIS 1205 includes an instantmessenger ID whose status is being queried. The MPIMIS 1205 examines thequery request to determine whether the client corresponding to theinstant messenger ID is a mobile client. In one embodiment, the MPIMIS1205 checks whether a mobile communication ID, corresponding to theinstant messenger ID, exists. In case of a mobile (e.g., cellular)phone, the mobile communication ID is its cellular phone number.

If the client whose status is being queried is a mobile client, theMPIMIS 1205 retrieves 1303 the corresponding mobile phone number from adatabase, such as mobile phone instant messenger ID cross-referencerelational database 506 of FIG. 5, based on the instant messenger ID.Based on the mobile phone number, the MPIMIS 1205 then checks whetherthe mobile client is online. In one embodiment, the MPIMIS 1205 checksin the online mobile phone database, such as database 505, whether themobile phone number exists in the database. Since all mobile clientshave to logon before they can use instant messenger, the MPIMIS 1205would have stored their mobile phone numbers or mark them as online, inthe online mobile phone database when they logged on. Similarly, theMPIMIS 1205 may erase or mark the corresponding mobile phone numbers asoff line, when they log off. If the targeted mobile client 1202 isonline (e.g., its mobile phone number exists), the MPIMIS 1205 returnsthe online status message to the originating mobile client 1201.Otherwise, the MPIMIS 1205 returns offline status message to the mobileclient 1201.

If the client whose status is being queried is not a mobile client(e.g., PC client), the MPIMIS 1205 invokes the instant messenger serverto determine whether the targeted client is online. The IM server isresponsible to manage all non-mobile clients. In one embodiment, the IMserver checks whether the targeted client is online through a database,such as the instant messenger ID management database 504 of FIG. 5. TheIM server then returns the status message back to MPIMIS 1205, which inturn returns the status back to the originated mobile client 1201 andthe mobile client 1201 displays the status of the targeted client on itsscreen.

FIG. 14 shows exemplary screen shots pertaining to the status query andstatus display using one of the methods discussed above. Screen shot1401 is a status display on a mobile client's screen. After the statusquery using the above method, the screen indicates of whether thetargeted clients are online. In one embodiment, the online status may berepresented by a special character. As shown in screen shot 1401,clients 10082 and 10138 are online, indicated by a special character,such as “*” here, while the client 10083 is offline. Other indicators orindicating methods may be employed. Screen shot 1402 is a correspondingstatus display on a PC client. The online status of a mobile client maybe indicated, for example, by either the color, brightness or some othervisual differentiation of the icon, such as icon 1403, which indicatethe mobile client 10082 is online. On the other hand, the offline client1404 is dim, which indicates the mobile client 10083 is offline. It isuseful to note that a user of the PC client knows whether the clients10082 and 10083 are mobile clients, based on the icons representing them(e.g., the icon comprises an image of a mobile phone). In anotherembodiment, the icon may be customized to include other icons thatsufficiently represent their characteristics of the correspondingclients. For example, the icon representing a wireless personal digitalassistant (PDA) may comprise a symbol of a Palm device. The instantmessenger users may not care whether the other “buddies” are utilizingmobile clients or PC clients, and may only want to be able tocommunicate with them through instant messenger network. In a furtherembodiment, the status display may not show whether the clients aremobile or PC clients, such as screen shot 1401.

Instant messenger technology may be deployed in an enterpriseenvironment. In the enterprise environment, a corporation customerrepresentative can instantly communicate with its customers. The iconsrepresenting the instant messenger client may be customized to includethe corporation's logo, which may increase the market awareness of thecorporation. Moreover, it is possible, in the enterprise environment toallocate one corporate logo icon to numerous individual user in thecorporation. Thus, someone communicating with the corporation using thecorporate logo may, in fact, be communicating with multiple users insidethe corporation maybe without being aware of this fact. This could, forexample, be very useful in the “help line” or similar consumerassistance service-environments provided by corporations.

FIG. 15 is a sequence of exemplary screen shots representing the statusquery from a mobile client. A mobile client user who desires to queryanother client's status enters 1501 in the short message section of theinstant messenger. Then the mobile client user enters 1502 a statusquery command, such as command of “36”. After the confirmation 1503, theinstant messenger system prompts 1504 the user for a mobile phone numberand sends out the status query. The status returned from the network isshown on the screen 1505, wherein the clients 10082 and 10138 areonline, indicated by a special character “*”, and client 10083 isoffline. Other characters may be used to indicate the online status.

FIG. 16 illustrates an exemplary instant messenger communication betweena mobile client 1601 and a PC client 1606. When a mobile client 1601desires to send an instant message to a PC client 1606, it sends a shortmessage through a mobile network to the mobile short message center1602. The short message center 1602 processes the message and sends themessage to the mobile phone instant messenger inter-working server(MPIMIS) 1604, through the mobile network interface gateway 1603. TheMPIMIS 1604 extracts the mobile phone number of the mobile client 1601and the instant messenger ID of the PC client 1606, from the message.The MPIMIS 1604 then retrieves the instant messenger ID bound with themobile phone number of the mobile client 1601. As discussed above,before a mobile client 1601 can communicate with others through theinstant messenger network, the mobile client 1601 has to register andbind its mobile phone number with its instant messenger ID. If theMPIMIS 1604 determines that the mobile phone number is not bound withthe instant messenger ID, the MPIMIS 1604 will return error message andterminates the processes.

If the mobile phone number has been registered and bound with thecorresponding instant messenger ID, the MPIMIS 1604 then sends themessage, along with the instant messenger ID of the originated mobileclient 1601 to the instant messenger server 1605. Based on the instantmessenger ID of the PC client 1606, the instant messenger server 1605sends the message to the PC client 1606, as well as the instantmessenger ID of the mobile client 1601. As a result, the message and theinstant message ID of the mobile client 1601 may be displayed in thescreen of the PC client 1606. In one embodiment, an icon representingthe mobile client may be displayed, wherein the icon may sufficientlyrepresent the characteristic of the mobile phone (e.g., an image of amobile phone). In a further embodiment, the message and the icon may bedisplayed in a browser that is able to display multiple pages includingthe instant messenger page in a single instance (e.g., window) of thebrowser.

FIG. 17 shows an exemplary instant messenger communication between twomobile clients 1701 and 1705. Similarly, before two mobile clients cancommunicate with each other through the instant messenger network, bothclients need to register and bind their respective mobile phone numberswith their instant messenger Ids. When the mobile client 1701 desires tosend an instant message to the mobile client 1705, it sends a shortmessage including the mobile phone number of client 1701 and the instantmessenger ID of client 1705, to the mobile short message center 1702through a mobile network. The mobile short message center 1702 processesthe message and sends it to the mobile phone instant messengerinter-working server (MPIMIS) 1704, through the mobile network interfacegateway 1703. The MPIMIS 1704 extracts the mobile phone number of client1701 and the instant messenger ID of client 1705, from the message. TheMPIMIS 1704 then retrieves the mobile phone number corresponding to theinstant messenger ID of the client 1705 and the instant messenger IDcorresponding to the mobile phone number of the client 1705, from adatabase, such as mobile phone instant messenger ID cross-referencerelational database 506 of FIG. 5. The MPIMIS 1704 next packages anotheroutgoing message including the mobile phone number of client 1705 andthe instant messenger ID of client 1701. The MPIMIS 1704 then sends theoutgoing message back to the mobile short message center 1702 throughthe mobile network interface gateway 1703. The mobile short messagecenter processes the outgoing message and sends the message to themobile client 1705 through the appropriate mobile network, based on themobile phone number of the mobile client 1705. As a result, the messageand the instant messenger ID of client 1701 are displayed on the screenof the mobile client 1705. It is useful to note that the instantmessenger communication is based on the instant messenger ID of bothmobile clients. Only the instant messenger ID will be shown on thescreen, instead of mobile phone number. As a result, the privacy of themobile phone number has been protected.

FIG. 18 shows a method 1800 of sending an instant message to a mobileclient or a PC client, according to one exemplary embodiment of thepresent invention. The method 1800 starts with a mobile subscribersending (block 1801) a short message to the mobile phone instantmessenger inter-working server (MPIMIS). The message includes the mobilephone number of the source mobile client and the instant messenger ID ofthe targeted client. The MPIMIS extracts (block 1802) the mobile phonenumber of the source client and the instant messenger ID of the targetedclient from the message. The MPIMIS then retrieves (block 1803) theinstant messenger ID of the source client, based on its mobile phonenumber. The MPIMIS checks (block 1804) whether the instant messenger IDand the mobile phone number of the source client are bound beforehand.If the mobile phone number and the instant messenger ID of the sourceclient are bound, the MPIMIS examine the instant messenger ID of thetargeted client to determine (block 1805) whether the targeted client isa mobile client. In one embodiment, the MPIMIS checks in a database,such as database mobile phone instant messenger ID cross-referencerelational database 506 of FIG. 5, whether the corresponding mobilephone exists. The existence of the corresponding mobile phone numberindicates that the targeted client is a mobile client. If the targetedclient is not a mobile client, the MPIMIS transmits (block 1806) themessage to the instant messenger server. The IM server then transmitsthe message to the targeted client (e.g., PC client) based on theinstant messenger ID of the targeted client.

If the targeted client is a mobile client (e.g., the mobile phone numbercorresponding to the instant messenger ID exists), the MPIMIS retrieves(block 1807) the mobile phone number corresponding to the instantmessenger ID of the targeted client from the database. The MPIMIS thentransmits (block 1808) the message and the mobile phone number of thetargeted client to the mobile short message center through the mobilenetwork interface gateway. The mobile short message center thantransmits the message through the mobile network to the targeted mobileclient, based on the mobile phone number of the targeted client.

FIG. 19 shows an exemplary sequence of sending an instant message from amobile client. The user first enters 1901 the short message section1902. The user then writes 1903 a short message to another client 45678.Next the user enters its own mobile phone number of 170030 and sends outthe message. The message may be targeted to another mobile client or themessage may be targeted to a PC client.

When a PC receives the message, the message may be displayed through aninstant messenger pop-up window. The window may be launched from ahidden application, such as a tray icon. Typically an instant messengerclient is launched during the initialization of the operating system(e.g., when the user logs in to the network). In addition, the status ofthe buddy list may be displayed through another pop-up window such aswindow 1402 of FIG. 14. The Internet browser is also an importantcomponent of Internet technology in the current market. As a result, thepresent invention introduces a unique browser that embeds (orintegrates) the instant messenger service, as well as other relatedservices, such as chatting and message board services. With the browserof the present invention, a user can response to an instant messagewhile the user is browsing a Web page within the same (or common)instance of the browser. A conventional browser is typically separatefrom an instant messenger (IM) application, executing on the samemachine as a result, a user has to switch between the browser and the IMapplication to response to either action. Unlike a conventional browser,the present invention allow a user to browse a web and conduct IMservice with others in the same browser. In addition, the browser of theinvention allows multiple users visiting the same (or a common) Web pageto communicate with each other through the instant messengerinfrastructure. Furthermore, the browser of the invention is able todisplay multiple web pages in the same (or common) instance of thebrowser, without launch another instance of the browser, thus lessmemory resources and faster speed are employed. A conventional browser(e.g., Internet Explorer from Microsoft), has to launch multipleinstances of the browser, in order to view the multiple pages. FIG. 20Ais a block diagram of an Internet browsing system with instant messenger(IM) system built-in, according to one exemplary embodiment of thepresent invention. The system 2000 includes a browser 2001 which is ableto communicate with a IM application (e.g., an IM client 2002), a IMserver group for supporting any IM related services to the IM client2002. The system 2000 also includes a browser server group 2003supporting the browser 2001. The browser server group 2003 includes achatting and message server 2006, browser kernel server 2007 and ananalysis/statistical management server 2008. The system 2000 is able tosupport multiple users 2005 accessing the Internet.

Referring to FIG. 20A, the browser kernel server 2007 receives andresponds to the registration of a user 2005 and returns the user onlineinformation to the browser 2001. The browser kernel server 2007 alsokeeps track the page browsing activities on the browser and to allow auser to check on the “who's with me” function, (e.g., providinginformation of other users who are visiting the same website or pagesimultaneously), to provide two-way instant network communicationsbetween friends via instant communications software. The browser kernelserver also synchronously sends user online information to thechatting/voice mail server 2006 and gathers user online informationbefore sending it to the statistical management server 2008.

The chatting and messaging server 2006 is responsible to manage realtime chatting of users and to respond to users' requests to send out orread recorded messages. Statistics management server 2008 is responsiblefor the background management. Browser kernel server transmits therecords of all access users to the statistics management server thatwill perform analysis on the records. IM server 2004 is responsible forproviding instant messenger service to the user 2005.

In addition, the system may comprise software which includes the browser2001, which is responsible for sending the identity requests to the IMserver, transmitting the results of such requests to the browser kernelserver 2007, keeping track with the access to pages in the user browserand transmitting the information to the browser server promptly. Anothersoftware component is the IM client 2002. The IM client 2002 isresponsible for responding to the requests for user identity at userinterface and transmitting to the IM server. Results of the inquiry maybe sent to the browser 2001.

As described above, users have to log in to the instant messengernetwork before they can communicate with each other through the browser.A typical user will login to the IM server during the initialization ofthe PC (e.g., booting and login processes). When the user log in fromthe desktop, the corresponding instant messenger client 2002 islaunched. The IM client 2002 transmits all necessary user informationincluding instant messenger ID and the associated password to the IMserver 2004. The IM server 2004 authenticates the login message andreturn verification to the IM client 2002. In another embodiment, the IMlogin processes may be launched manually by the user after theinitialization phase of the PC. The IM client may be minimized as a trayicon on the desktop of an operating system. In another embodiment, theIM client may not contain user interface. The IM client may be accessedfrom the browser through a well-known inter-application communicationmechanism. Other configuration may exist.

When the browser 2001 is launched, the browser communicates with the IMclient 2002 to receive any user specific information regarding to the IMservices. The browser then logs in to the browser kernel server 2007,using the user information passed along from the IM client 2002. Inanother embodiment, the browser kernel server 2007 may directlycommunicate with the IM server 2004 to collect all user relatedinformation. The browser kernel server 2007 then starts to keep trackwith the activities of the user, as well as other users who have loggedin to the system. At the mean while, the browser kernel server 2007provides all detailed information on the activities of the users to theanalysis server (e.g., statistical server) to conduct statisticsanalysis on the activities of the users. The browser kernel server 2007also collects the identities of all users logged in to the system, aswell as their Web browsing activities, and transmits this information tothe browser 2001 such that the browser 2001 can display identifiers forall the users who are visiting the same Web page for the purpose of“who's with me” capability. The user can select one of the users who areon the list (e.g., who is visiting the same Web page), to conductfurther instant communication. The user can select a user to conductinstant chatting through the chatting and message server 2006. Thechatting can be performed within the same instance of the browser.Similarly, the user can choose to leave or read a message to or fromanother user who has visited the same page.

This feature has increased the convenience to the Internet user. Forexample, multiple users can visit the same page at the same time toconduct a shopping online. They can communicate with each other todiscuss the quality of the item being shopped instantly. They can alsoread or leave a message regarding to that Web page, even though they arenot visiting the Web page at the same time. For an enterprise, thisfeature also facilitates near instant communication of customers'feedback comments to a corporation (or enterprise) on their products. Ina further embodiment, the enterprise can respond nearly instantly to thecustomers if the customers have some questions on a specific sale itemon the Web page before submitting the purpose order. As a result, theenterprise would not loose a sale transaction or a customer. It would beapparent to one skilled in the art that these features would be appliedto other applications.

FIG. 20B shows another embodiment of the invention. In addition to thoseserver described in FIG. 20A, the system 2050 includes an IM userdatabase server 2054, which may include an instant messenger mobilephone cross-reference relational database 506 of FIG. 5. The userdatabase server 2054 and the analysis server 2055 are coupled to thebrowser kernel server 2052 through an intranet. Further administrativecomponents of the system may be coupled through an internal digital datanetwork (DDN) 2056, a telecom service of data communication. DDN is adedicated digital private line service that allows subscribers totransmit and receive data, image, and voice between subscriber locationsover a fiber optic digital network.

FIG. 21 is a flowchart of data processing according to one embodiment ofthe present invention. When a user launches (block 2101) the browser,the browser checks 2102 whether the instant messenger (IM) client hasalready launched, if the IM client is already launched, the browsersends (block 2103) an authentication request to the IM server forauthenticating the user, through IM client. The IM server performs theuser authentication processes and checks (block 2104) whether the useris valid. If the user is not a valid user, the processing is rejectedand the browser would not log in to the browser server. If the user isdetermined as a valid user, the IM server validates the user and sends(block 2105) the validation back to the browser through the IM client.The browser then uses such information to log in (block 2106) to thebrowser server and the browser server processing the login message. Fromthen on, the browser delivers (block 2107) the Web site page viewinformation the user currently browses, to the browser server. Thebrowser may record (block 2108) all the related activities of the userand the information of the users who are visiting the same Web pagesimultaneously to the browser server. The browser server transmits allusers' information collected through other browser clients logged in tothe system, back to each browser client. The browser client thendisplays those users within the same instance of the browser.

As described above, before a user can use a browser to conduct instantmessenger communication, the corresponding IM client must launch and login to the system. The browser of the present invention also provides anoption to log in to the instant messenger network from the browser,according to one embodiment of the invention. FIG. 22A shows a screenshot of an exemplary browser of the invention. The browser provides anoption to log in from the menu 2201 to the IM server and receives theuser IM information from the IM server. The browser also includes anoption to display multiple users visiting the same page (e.g.,www.tencent.com/english) in a window 2202 within the same instance ofthe browser. In addition, the browser also provides chatting serviceswithin the same browser, wherein the user can enter the texts in theinput field 2204 and display the entire chatting messages in the windowof 2203. It is important to note that all of the windows 2202, 2203, and2204 are displayed within the same instance of the browser. Furthermore,the browser of the present invention is able to display multiple Webpages (e.g., www.tencent.com/english and www.bstz.com) on the samebrowser without launching another instance of the browser. Aconventional browser displays multiple Web pages through launchingmultiple instances of the browser, each instance of the browser displaysone Web page. The disadvantage of the conventional method is that it hasto use substantial large system resources (e.g., memory) and eachinstance of the browser has to perform its own initialization processesupon being launched, which slows down the transactions. The presentinvention displays multiple Web pages within the same instance of thebrowser. Each Web page is associated with a page selector 2206. A usercan display a specific Web page by selecting the page through the pageselector 2206.

FIG. 22B shows an exemplary Chinese version of a browser of the presentinvention. The window 2211 is a user list window showing all of theusers who have logged in to the system and are visiting the sameselected Web page. The window 2211 contains each member's nickname 2213and its corresponding logged in ID 2212. The user can chat with each oneof the users listed in the window 2211 by selecting (e.g., clicking) onthe nickname 2213 or ID 2212.

FIG. 23 shows a flowchart illustrating an exemplary method 2300 ofdisplaying multiple Web pages in a single instance of the browser,according to one embodiment of the present invention. When the browserreceives (block 2301) a request for accessing multiple Web pages fromthe user, the browser transmits (block 2302) the request to theappropriate Web sites. At the mean while, the browser may create adatabase categorized by each Web page being accessed. When the browserreceives the Web pages information (e.g., in markup language documents),it stores (block 2303) the multiple Web pages information in thedatabase, each Web page corresponding to a page selector (e.g., a Tabselector). The browser then selects (block 2304) a web page through aweb page selector, normally the latest web page selected by the user,and retrieves (block 2305) the corresponding Web page information fromthe database. Then the browser displays (block 2306) the Web page withinthe same instance of the browser. Thereafter, the browser records theactivities of the user and transfers this information down to thebrowser sever. The information may in turn be transferred to an analysisserver for performing further statistical analysis on the data. At themean while, the browser server collects (block 2308) identityinformation of all users visiting the same Web page and transmits thisinformation to the browser client to display (block 2309) thoseidentities of the users visiting the same Web page, within the sameinstance of browser.

FIG. 24 is a screen shot of a browser being able to display multiple Webpages within the same instance of the browser, according to oneembodiment of the present invention. As described above, the browser candisplay multiple Web pages within the same browser. Each Web page isassociated with a Web page selector, such as page selectors 2401-2403.In one embodiment, the page selector is a Tab selector as shown in FIG.24. In another embodiment, the page selector may be a button or adrop-down list. The advantage of the present invention is that since nomultiple instances of the browsers are required to be launched, theinvention uses less system resources (e.g., memory resources such asrandom access memory (RAM)). In addition, the browser has to performcertain initialization steps upon being launched. The present inventionaccordingly has faster speed in accessing a Web page without additionalinitialization processing. A Web page can be selected through thecorresponding page selector (e.g., Tab selector). The browser alwaysdelivers the user's activity information, including the selected pageindicator (e.g., page selector), to the browser server, such as browserserver 2007 of FIG. 20A. The browser kernel server 2007 keeps track allthe user's activities based on the selected page. In one embodiment,those information are stored in a database indexed based on the pageselector. When the user selects a page through a page selector (e.g.,clicking on the Tab selector), the browser passes the user's selectionincluding the paged selected indicated by the corresponding pageselector, to the browser server. The browser sever retrieves all of theweb page information related to the page selector, including the markuplanguage document, from the database and transfers back to the browserclient.

In another embodiment, when the browser server receives the informationon the page selected, the browser server returns the link to thecorresponding Web page (e.g., the web address of the Web page), to thebrowser client. The browser retrieves the Web page (e.g., markuplanguage document) from the corresponding Web sites, based on the link.

The browser client displays the Web page (e.g., markup languagedocument) accordingly within the same browser. The browser sets thecorresponding page selector, such as Tab selector 2402, as focused. Onthe other hand, all other unselected pages are defocused and theircorresponding Web page information are not displayed or hidden. Each ofthe standard functional buttons, such as backward button 2407 andforward button 2408, perform according to the selected page. As aresult, all of the history and forwarding pages of the selected page arepreserved. These information, as well as other information performed bythe standard functional buttons are also related to the selected pageand may be stored in the database indexed based on the page selector,managed by the browser server.

The browser of the present invention also embodies instant communicationfunctions, such as chatting and message board services. For example, thebutton 2404 will display a window (e.g., window 2202 of FIG. 22A) withinthe same browser, wherein the window will display all of other memberswho have logged in to the system visiting the same selected page. Inaddition, the chatting service may be launched within the browserthrough the button 2405. The chatting windows (e.g., windows 2203 and2204 of FIG. 22A) may be launched through the button 2405. Similarly,the message board services can be launched from the browser through thebutton 2406.

FIG. 25 is a flowchart of conducting a chatting service, according toone embodiment of the present invention. When the user selects (block2501) the chatting function, the system will check (block 2502) whetherthe chatting service has been launched. If the chatting service has notbeen launched, the browser chatting server will launch (block 2503) thechatting services and the browser client will display the chattingwindows. Thereafter, the user can enter (block 2504) texts from an inputfield and the texts are then forwarded (block 2505) to the chattingserver. The chatting server then communicates the message to all userswho have entered the chat room and collects (block 2506) all responsesfrom the users and returns (block 2507) to the originated user. Inanother embodiment, the chatting service may be launched from theinstant messenger client, which is launched during the initialization ofthe PC.

FIG. 26 is a screen shot of a user interface of a chatting service,according to-an embodiment of the present invention. The chattingservice is launched within the same instance of the browser. Typically,the chatting windows are launched through a button 2601 from thebrowser. The chatting service can also be launched from the menu. Thechatting service comprises an input field 2602 that a user can enter anychatting texts to the community. The texts entered by the user and bythe members in the chatting room are shown in the window 2603. At themean while, the user can browse multiple Web pages in the main window2604. If the members in the chat room are visiting the same Web pages,they can use the chat room to discuss the information regarding to thesame Web page they are visiting.

FIG. 27 is a flowchart of a message board services, according to oneembodiment of the present invention. When the message board service islaunched (block 2701) by a user from the same instance of the browser,the browser checks (block 2702) whether such service has been launched.If the message board service has not been launched, the browser accesses(block 2703) the browser server group, such as the chatting and messageserver 2003 of the FIG. 20A. The browser then retrieves (block 2704) themessage lists available and displays (block 2705) the message list in awindow within the same instance of the browser. In block 2706, the userof the browser can then read from a message of the list, search for amessage and send a message to the message board. The request from theuser is then transmitted down to the server and the server responds(block 2707) to the request, and completes (block 2708) the relatedtransaction and sends back the result to the browser.

FIG. 28A shows a user interface of the message board service, accordingto one embodiment of the present invention. The message board servicecan be launched from the button 2801 within the same instance of thebrowser. When the message board service is launched, a message boardwindow 2802 will be displayed. The window normally contains all of themessages available, categorized by the interest topics within thecommunity. One of the features of the message board service is that auser can leave a message or read a message to or from a friend while thefriend may not necessarily be online. With the browser of the presentinvention, a user can leave a message regarding a Web page the user isvisiting. On the other hand, a user also can read messages of others(e.g., comments on the shopping items of the Web page) who have visitedthe Web page, before committing to place a purchase order. Furthermore,an enterprise organization that hosts the Web page may use theinformation available on the message board to conduct marketing relatedresearch. In addition to the message board, a user or an enterpriseorganization can launch an instant messenger service, or a chattingservice, to communicate with another user to discuss anything related tothe Web page.

FIGS. 28B and 28C are corresponding Chinese version of the userinterface with message board service, according one embodiment of theinvention. Similarly, the message board service can be launched from abutton 2811 and all messages available are shown in the window 2812. Auser can select a message to read, such as message 2813. When a userselects a message, another message window 2822 will display thecorresponding message. The user can also enter a message through aninput field such as window 2821.

As described above, an embodiment of the browser is able to displaymultiple pages within the same instance of the browser. Each page maymaintain the history list associated with the page. For example, abackward and forward buttons access the history list associated with thecurrently active page. The browser is also display multiple users whoare visiting the same Web site or Web page within the browser, so called“Who's with me?” features. In fact, the “Who's with me?” window isassociated with the currently active page (e.g., selected page). Thus,when the currently selected page is switched from one page to another,the information regarding the users displayed in the “Who's with me?”window are synchronized with the users who are visiting the new page.The “Who's with me?” window shows those who are visiting the new page,when the new page is switched from the previous one. Similarly, thechatting service and message board service are synchronized with thecurrently selected page. Thus, when the user switches from one Web siteto another Web site, the chatting window shows all of the user currentlyentered the corresponding chat room related to the currently displayedWeb site. In an alternative embodiment, the information regarding to thechat room are synchronized with the Web page currently displayed, evenwithin the same domain of the sponsoring Web site. Similarly, themessage board service may be synchronized with the current active Webpage.

FIG. 29 shows an exemplary data structures of the browser according toone embodiment of the invention. The data structures may be stored in astorage location such as random access memory (RAM), or in a hard diskof a client. In alternative embodiment, these data structure may bestored in the browser server, such as browser server 2007 of FIG. 20A.Referring to FIG. 29, the data structure are grouped under each page,such as pages 2901, 2907, and 2908, currently displayed within thebrowser. The data structure corresponding to each page may beimplemented as an object (e.g., class) using object oriented programminglanguages, such as C++ or Java. The data structure encapsulates all ofthe information related to the page under a corresponding data structureindexed by the page selector. For example, the data structure of page2901 contains variety of information regarding to the correspondingpage. Among them, the data structure may include the currently selectedWeb page address 2902, history list 2903, user list for “Who's with me?”2904, users entered the chat room 2905, and message board 2906 on thecorresponding Web site or Web page. Therefore, when a user selects page2902, the browser will retrieve corresponding information regarding tothe page 2902, such as current web page address 2902, history list 2903,etc. The browser then can display the Web page corresponding to the Webaddress 2902, which either has been cached previously or download theWeb page from the Web address dynamically. Similarly, when the userswitches from page 2901 to page 2902, the corresponding information,such as current Web address 2909 and history list 2910, etc. areretrieved and displayed on the browser.

It is important to note that all of the information related to a pageare local information of the corresponding page. For example, thehistory list information containing previous activities of a user isstored based on the page selector. Unlike most of the conventionalbrowser, which the history information is maintained globally perinstance of browser, an embodiment of the present invention keeps trackall of the user history of activities under each of the pages maintainedby the browser simultaneously. Thus, history list of an inactive page(e.g., those not being selected) is stilled maintained by the browser.These information may be maintained by the browser client (e.g., storedin the RAM). In an alternative embodiment, these information may bestored in the browser server. When a page is selected, the historyinformation corresponding to the selected page may be retrieved from thebrowser server. When a backward or forward button of the browser ispressed, the browser retrieves and displays the history information, andaccesses the corresponding Web site upon user's selection. Similarly,other information such as the user list of the current chat room andmessage list of the message board corresponding to the selected Web siteor selected Web page, are synchronized with the selected page. Otherfeatures of the browser may be implemented accordingly.

The present invention provides a unique browser that integrates most ofthe popular instant messenger communication mechanism into a singleinstance of browser. In addition, the present invention offers a browserthat can display multiple Web pages within the same instance of thebrowser. As a result, the user interface is more user friendly andpowerful. The invention also utilizes less system resources and providesa speed advantage. Although the invention can be used by an individual,it would be appreciated that the present invention may be adopted by anenterprise. Other features may be integrated with the browser.

A typical example of the browsing system of the invention may include amedium size network system. In the example of application, the networkexchange adopts four 100M Ethernet exchanges. The system consists of 70mainframes. Almost all servers adopt the form of cluster so as toachieve an even distribution of the dynamic state of the users. Some ofthe mainframes are used in the servers of the TIM service system whilesome in the Tencent browser server.

Types of Mainframe Number Manufacturer Compaq PC Server Proliant1850/3000 20 Compaq Powerleader PC Server Powerleader 50 Powerleader3300R/4400R 3Com 100 M Switch 3Com 3C16980 4 3Com Cisco Router Cisco2501 3 Cisco DTU Newbridge 2603 Nokia B512 3 Newbridge Nokia

Main server models may include a browser server (cluster) with pl3300p3/700*2 (two CPUs), browser chatting/messaging server (cluster) withpl4400 p3/866*2 (two CPUs), browser statistics management server: pl3300p3/700*2 (two CPUs), IM server (cluster) with cpq1850 p3/700*4 (fourCPUs). Products of Proliant series of Compaq's PC server system and thePower Leder PC server series of Intel may be chosen for the networkserver. Compaq Proliant 1850 is a competitive product in Proliant seriessevers in terms of its capability in calculation and theperformance/price ratio. It can support the operation systems of openUNIX and Windows NT, especially suitable for use in those largeapplications involving database operation. 1850 adopts the PIII chips of550 MHz as its CPU. It may be assembled with two CPUs at the utmost andmay support multi-CPUs in symmetrical parallel processing (SMP).

Under the Linux Slackware 7 operating system, the largest 2 GB memorymay be installed in the system. In this case, the server is installed a1 GM memory. The purpose of using large capacity memory is to placeseveral resources in the memory including the software of operatingsystem, software of hot backup system and inquiry data commonly used inthe application database in order to increase the central respondingspeed of the system. At the same time, all changes in the relevantdatabase of the memory will be written back to the shared hard diskgroup as the source for keeping data information and recovery fromfailure. In addition, the memory has the ECC error correction featureand is able to carry out transition over the memory failure so that itis possible to prevent some important data from losing owing to thephysical failure of the memory. 1850 adopts the form of modular assemblyof easy installation and flexible configuration and the memory can beincreased at any time as necessary.

The configuration of the hard disk in the mainframe system is dividedinto two parts. One is each mainframe has its own hard disk memorysystem and another is the periphery of the two mainframes share one harddisk memory system. The internal hard disk of a mainframe is mainly forplacing the operating system software and database software system.Since the actual data will not be stored in the internal hard disk, theactual maximum hard disk capacity of 1850 reaches 27 GB. Disk arrayconsists of four 3.5″ half-height hard disks with red RAID 5 of 9 GBcapacity that provides a 27 GB hard disk memory capacity.

The internal total linear velocity and I/O throughput speed arerelatively fast. In the I/O facility, the server uses the technology ofSmart Array to reduce the disk read/write and the 40 MBps SCSI interfaceto increase the data throughput capacity of the disk control and disk.

Model Configuration Compaq 1850 (3U Rack) Compaq 1850 (3U Rack) PIII 550MHZ CPU (256K Cache) 1 GMB ECC RAM Four hot plug hard disk bays 9.1 GB(7200 RPM) HDD*4 Smart II/HD RAID

This system uses twenty 1850 mainframes of the above configuration.Powerleader Rack-mount Server Series include an Inter IA Powerleaderserver composed of high performance server main board, processor,tailor-made frame, superior server management software and other partscertified by Inter and it is formed by assembly and testing of theproduction line. It possesses the following features of consistency,space for upgrading and being easy to manage. Assembly and maintenanceis quick and easy, which facilitates upgrading of system performance inaccordance with the need of business development. The Internetrack-mount server ingeniously designed by rack-mount server providershas utilized the structural modules of Inter-connection [custom] server,which is commonly used, reliable with high-speed expandability.

Model Configuration PL3700R platform (2U Rack) PL3700R platform (2URack) PIII 750 MHZ CPU (256K Cache) 128 MB ECC RAM 4 heated plugs harddiskette 9.1 GB (7200 RPM) HDD Selected parts

This system has adopted 50 sets of the PL3300R main frame with the aboveconfigurations. Operating system may include Linux Slackware 7.x. In theUNIX products, Slackware7.1 has the features of good performance, highefficiency and module structure, and it leads in throughput and responsespeed. It has a number of advantages: a genuinely open computationenvironment can be set up by complying with the standard of UNIX systemto protect the subscribers' investment in the operating system; highspeed large-scale database accessibility; low-cost system, network andexternal storage management; to provide perfect system safety controlsystem; to provide the most recent developing tools to help usersdevelop application software at their convenience and in a speedymanner; to provide various technical means to help users complete thetransfer among different systems and transplant of application software.The configuration may include database management system, such asmysql-3.22.27.

In the foregoing specification, the invention has been described withreference to specific exemplary embodiments thereof. It will be evidentthat various modifications may be made thereto without departing fromthe broader spirit and scope of the invention as set forth in thefollowing claims. The specification and drawings are, accordingly, to beregarded in an illustrative sense rather than a restrictive sense.

1. A method of binding an instant messenger identifier with a wirelesscommunication identifier of a wireless communication device, the methodincluding: receiving a binding request from the wireless communicationdevice, the binding request including the wireless communicationidentifier; generating an instant messenger identifier corresponding tothe wireless communication identifier; storing the instant messengeridentifier and the wireless communication identifier in a database,wherein the instant messenger identifier is associated with the wirelesscommunication identifier; and performing related services of the bindingrequest based on the instant messenger identifier.
 2. The method ofclaim 1, wherein the database is a cross-reference relational database,wherein the instant messenger identifier is retrievable based on thewireless communication identifier and the wireless communicationidentifier is retrievable based on the instant messenger identifier. 3.The method of claim 1, wherein the wireless communication device is acellular phone, and wherein the wireless communication identifier is acellular phone number.
 4. The method of claim 1, further including:examining the wireless communication identifier to determine whether thewireless communication identifier is already bound with the instantmessenger identifier; and rejecting the binding request if the wirelesscommunication identifier is already bound with the instant messengeridentifier.
 5. The method of claim 1, further including: generating apresence indicator corresponding to the instant messenger identifier;and storing the presence indicator in the database, wherein the presenceindicator is associated with the instant messenger identifier.